//
//  Identifier.swift
//  BasicTools
//
//  Created by Ting Han on 2022/3/12.
//

import Foundation
import UIKit

// MARK: Reuse

protocol ReuseIdentifiable {
    static var reuseIdentifier: String { get }
}

extension ReuseIdentifiable {
    static var reuseIdentifier: String {
        "k\(String(describing: self))Identifier"
    }
}

extension UITableViewCell: ReuseIdentifiable {}
extension UITableViewHeaderFooterView: ReuseIdentifiable {}
extension UICollectionReusableView: ReuseIdentifiable {}


// MARK:  Storyboard

protocol StoryboardIdentifiable {
    static var storyboardIdentifier: String { get }
}

extension StoryboardIdentifiable {
    static var storyboardIdentifier: String {
        String(describing: self)
    }
}

extension UIViewController: StoryboardIdentifiable {}

